Invoicing For Stripe
Send beautiful PDF invoices to your customers
- Do you want a super simple way to send fully customizable PDF invoices to your customers?
- Do you want to display the included VAT on your invoice?
- Do you sell to different countries and want to send out receipts and invoices in your customer's language with proper currency formatting?
- Do you want to send out corrected invoices to your customers when refunding money from your stripe dashboard?
- Do you sell goods to private customers as well as to registered companies within the EU and want to comply with European law?
- Do you want to archive your invoices on Google Drive and track your sales in a Google Sheet?
If your answer to at least one of the above questions is yes, our invoicing for stripe is right for you!
Get your free copy of the Invoicing for Stripe Application
Activation
You will have to perform just a few simple steps to activate invoicing in your stripe account - no coding required:
Copy stripe secret key
Go to the API Keys section in your account settings and copy the secret key into your clipboard. Please double check that you are copying the correct key, you'll find different secret keys for test and live mode.
Paste stripe secret key
Paste the stripe secret key into the form field in the first building block and click on the save icon in the form toolbar on the top right of the form block.
When the form is saved it will appear as a variable in the output variables panel on the right of the building block.
Copy Ultradox URL
Now we have to copy the integration URL of our invoicing to stripe.
Click on the link icon in the main toolbar of the Ultradox editor.
This will open the integration dialog. Copy the integration URL from the dialog to your clipboard.
Paste Ultradox URL
Now go to the Webhooks section in your stripe account.
Click on the Add URL button and paste the integration URL into the URL field. Carefully select whether you are in test or live mode and create the webhook.
Congratulations! You have successfully activated invoicing in your stripe account!
Your customers will now receive nice emails with PDF invoices attached whenever a charge is processed.
VAT handling
VAT handling in the EU is quite complicated. You have to comply to the following rules when issuing an invoice:
If you for example are located in Germany (as we are) and want to sell to a customer who also lives in Germany, you will have to display the included VAT of 19% on your invoice - no matter if the customer is a private or registered business customer.
If you are selling to private customers in a different member state of the EU, you'll have to apply the VAT of the customer's country of residence.
If you are located in the EU and you are selling to a registered company with a valid VAT-ID in a different member state, you must not add VAT, but display the VAT-ID of the company on your invoice (reverse-charge).
If you specify the tax_percent field in your subscription or invoice, we will simply use this value to calculate and display the VAT on your invoice. This is great as the stripe receipt and the generated invoice will contain identical information. The generated invoice is a little bit more verbose and will display the VAT for each invoice item.
If you use the tax_percent field, the VAT will be calculated and added to the charged amount. In this case only charge the net amount without VAT.
If you do not specify the tax_percent in your subscription, Ultradox invoicing for stripe will calculate the included VAT based on the country where your business is located (based on your stripe account settings) and the buyers country (taken from the credit card).
If you do not use the tax_percent field, always charge the full amount including VAT!
If you customer has a valid VAT-ID, just set it in the customer's metadata:
curl https://api.stripe.com/v1/customers
-u sk_test_ejfiAsBFpMhD1231239Fg34s:
-d "[email protected]"
-d "metadata[vat_id]=GB350983637"
Customization
When generating your invoices, we will detect the customer's language, country and address from the credit card. You can override the the locale, VAT rate and address in the customer's metadata.
The following example shows how to set the vat rate, locale, name and address to be used in the invoices:
curl https://api.stripe.com/v1/customers
-u sk_test_ejfiAsBFpMhD1231239Fg34s:
-d "[email protected]"
-d "metadata[name]=Joe Plumber"
-d "metadata[vat]=6.876"
-d "metadata[address]=3180 18th St #100,San Francisco,CA 94110,USA"
-d "metadata[locale]=en_US"
The specified locale will be used to properly format dates, numbers and currencies.
Did you know that for example the Euro sign is only used when creating invoices for countries that are members of the European Union? When creating an invoice for a customer in Switzerland you should specify de_CH as a locale so that EUR will be used instead of the Euro sign.
Customizing the invoice
You can customize your PDF invoices by simply editing the invoice template using Google Docs. This is great as you can simply add images (e.g. your signature or company logo), modify header and footer or add additional text.
If you are already an Ultradox user you may know that you could also embed the customer's address as a map or insert data from other sources like Google Sheets, your own servers etc.
Make sure to install the Ultradox Template Editor Add-on for Google Docs to access all the variables from your invoice, customer and charge objects.
You will find a dedicated invoice template for each of the supported languages. Please do not change the name of the files as they will be picked by name.
Customizing the email
You can edit the email templates in the same way as your invoices using Google Docs. Please stick with the fonts that are available on all platforms.
Customizing the email subject
The email subject will be taken from the description of the email template file on Google Drive. This allows you to specify the email subject for each of the supported language.
You can edit the description of the email templates right on Google Drive. Select the email template and click on Details in Google Drive to edit the description.
Customizing the invoice number format
You can edit the pattern of your invoice numbers in the appropriate form field right in the Ultradox editor.
Adding more languages
You can simply add a new language by creating a new subfolder and giving it the name of the language to be added (2 letters).
Make a copy of the templates and put them into this folder. Please make sure that the file names are identical to the ones in the source folder as the invoicing will pick the templates based on the filename.
Printing invoices from the cloud
You can print your invoice right from the cloud whenever a stripe invoice gets paid.
Simply click on the print icon in the building block that generates the PDF document. You can then select and customize your printer using Google Cloud Print.
Questions and Feedback
If you have any comments on this guide, feel free to add them right to the Google document that we are using to create this site.
If you are not yet member of the Ultradox community on Google+, please join now to get updates from our end or to provide feedback, bug reports or discuss with other users.
Last Updated: 11/21/16